﻿using System.Collections.Generic;
using PGun.MVC.Core.Domain.Localization;
using PGun.MVC.Core.Domain.Shipping;


namespace PGun.MVC.Core.Domain.Directory
{
    public partial class Country : BaseEntity, ILocalizedEntity
    {
        private ICollection<StateProvince> _stateProvinces;
        private ICollection<ShippingMethod> _restrictedShippingMethods;

        public string Name { get; set; }

        public bool AllowsBilling { get; set; }

        public bool AllowsShipping { get; set; }

        public string TwoLetterIsoCode { get; set; }

        public string ThreeLetterIsoCode { get; set; }

        public int NumericIsoCode { get; set; }

        public bool SubjectToVat { get; set; }

        public bool Published { get; set; }

        public int DisplayOrder { get; set; }

        public virtual ICollection<ShippingMethod> StateProvinces
        {
            get { return _stateProvinces ?? (_stateProvinces = new List<ShippingMethod>()); }
            protected set { _restrictedShippingMethods = value; }
        }
    }
}
